package com.ruoyi.gis.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 图层管理对象 gis_layer
 *
 * @author rww
 * @date 2023-02-27
 */
public class GisLayer extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    public static String model_file = "file";
    public static String model_iot = "iot";

    private Long fileId;//file_id
    /** 图层ID */
    private Long layerId;
    private Long parentId;//parent_id
    private String ancestors;//
    private Integer group;//分组：1：组  2：图层
    public static final int type_group= 1;
    public static final int type_layer= 2;
    private String bzid;//外部业务id

    private String endpoint;//服务地址

    /** 图层名称 */
    @Excel(name = "图层名称")
    private String layerName;
    /** 图层显示名称 */
    @Excel(name = "图层显示名称")
    private String layerTitle;

    private Integer maxZoom;

    private Integer minZoom;

    /** 图层类型 */
    @Excel(name = "图层类型")
    @Deprecated
    private String layerType;
    private String sourceType;//VECTOR  RASTER
    /** 坐标系 */
    @Excel(name = "坐标系")
    private String crs;

    /** 边界 */
    @Excel(name = "边界")
    private String boundary;//{"maxx":114.33249932903402,"maxy":30.57804939262724,"minx":114.3312392912087,"miny":30.57719834726686}

    /** 状态（1正常 0停用） */
    @Excel(name = "状态", readConverterExp = "0=停用,1=正常")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;


    private String workspace;
    private String store;
    private String storeType;//coverageStore  dataStore
    public static final String store_dataStore = "dataStore";
    public static final String store_coverageStore = "coverageStore";
    private String symbolization;//符号化配置
    private String layerStyle;//fill point
    private String renderStyle;//栅格文件的 配置的geoserver的样式  render_style
    private String sourceUrl;//source_url
    private String sourceFormat;//source_format
    private Integer sort;//
    private String layerColor;//layer_color
    private Double layerOpacity;
    private Double layerWidth;
    private Long userId;//user_id
    private String model;//业务

    public static final String format_mapbox_vector="application/vnd.mapbox-vector-tile";

    //////////////////////////////////////


    public String getRenderStyle() {
        return renderStyle;
    }

    public void setRenderStyle(String renderStyle) {
        this.renderStyle = renderStyle;
    }

    public Integer getMaxZoom() {
        return maxZoom;
    }

    public void setMaxZoom(Integer maxZoom) {
        this.maxZoom = maxZoom;
    }

    public Integer getMinZoom() {
        return minZoom;
    }

    public void setMinZoom(Integer minZoom) {
        this.minZoom = minZoom;
    }

    public String getStoreType() {
        return storeType;
    }

    public void setStoreType(String storeType) {
        this.storeType = storeType;
    }

    public String getSymbolization() {
        return symbolization;
    }

    public void setSymbolization(String symbolization) {
        this.symbolization = symbolization;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Double getLayerOpacity() {
        return layerOpacity;
    }

    public void setLayerOpacity(Double layerOpacity) {
        this.layerOpacity = layerOpacity;
    }

    public Double getLayerWidth() {
        return layerWidth;
    }

    public void setLayerWidth(Double layerWidth) {
        this.layerWidth = layerWidth;
    }

    public String getEndpoint() {
        return endpoint;
    }

    public void setEndpoint(String endpoint) {
        this.endpoint = endpoint;
    }

    public String getBzid() {
        return bzid;
    }

    public void setBzid(String bzid) {
        this.bzid = bzid;
    }

    public String getLayerColor() {
        return layerColor;
    }

    public void setLayerColor(String layerColor) {
        this.layerColor = layerColor;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Long getFileId() {
        return fileId;
    }

    public void setFileId(Long fileId) {
        this.fileId = fileId;
    }

    public String getSourceFormat() {
        return sourceFormat;
    }

    public void setSourceFormat(String sourceFormat) {
        this.sourceFormat = sourceFormat;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getAncestors() {
        return ancestors;
    }

    public void setAncestors(String ancestors) {
        this.ancestors = ancestors;
    }

    public Integer getGroup() {
        return group;
    }

    public void setGroup(Integer group) {
        this.group = group;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public String getSourceUrl() {
        return sourceUrl;
    }

    public void setSourceUrl(String sourceUrl) {
        this.sourceUrl = sourceUrl;
    }

    public String getLayerStyle() {
        return layerStyle;
    }

    public void setLayerStyle(String layerStyle) {
        this.layerStyle = layerStyle;
    }

    public String getWorkspace() {
        return workspace;
    }

    public void setWorkspace(String workspace) {
        this.workspace = workspace;
    }

    public String getStore() {
        return store;
    }

    public void setStore(String store) {
        this.store = store;
    }

    public void setLayerId(Long layerId)
    {
        this.layerId = layerId;
    }

    public Long getLayerId()
    {
        return layerId;
    }
    public void setLayerName(String layerName)
    {
        this.layerName = layerName;
    }

    public String getLayerName()
    {
        return layerName;
    }
    public void setLayerType(String layerType)
    {
        this.layerType = layerType;
    }

    public String getLayerType()
    {
        return layerType;
    }
    public void setCrs(String crs)
    {
        this.crs = crs;
    }

    public String getCrs()
    {
        return crs;
    }

    public String getBoundary() {
        return boundary;
    }

    public void setBoundary(String boundary) {
        this.boundary = boundary;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setLayerTitle(String layerTitle)
    {
        this.layerTitle = layerTitle;
    }

    public String getLayerTitle()
    {
        return layerTitle;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("layerId", getLayerId())
            .append("layerName", getLayerName())
            .append("layerType", getLayerType())
            .append("crs", getCrs())
            .append("boundary", getBoundary())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("layerTitle", getLayerTitle())
            .toString();
    }
}
